--- a/Atom.cpp
+++ b/Atom.cpp
@@ -81,6 +81,23 @@
     res += AtFormFactor.c;
     return res;
 }
+CString Atom::getAtomLabelForCrystals(CString label)
+{
+    CString attype;
+    CString atnumber;
+	//label.MakeLower();
+	for(int i=0;i<label.GetLength();i++){ 
+		if((label.GetAt(i)>=65)&&(label.GetAt(i)<=122)) {//a...z
+			attype+=label.GetAt(i);
+        } else {
+            atnumber+=label.GetAt(i);
+        }
+	} 
+    //attype.MakeUpper();
+    CString tmp;
+    tmp.Format("%s(%s)", attype, atnumber);
+	return tmp;
+}
 CString Atom::getAtomType(int atnb)
 {
     if(atnb<0) return "Q";
@@ -90,15 +107,20 @@
 CString Atom::getAtomType(CString str)
 {
 	CString tmp = "";
-	str.MakeLower();
+	//str.MakeLower();
 	for(int i=0;i<str.GetLength();i++){ 
-		if((str.GetAt(i)>=97)&&(str.GetAt(i)<=122)) {//a...z
+		if((str.GetAt(i)>=65)&&(str.GetAt(i)<=122)) {//a...z
 			tmp+=str.GetAt(i);
         } else {
             break;
         }
-	}    
+	} 
 	return tmp;
+}
+void Atom::Rename(int newindex)
+{
+    CString tmp = getAtomType(AtomLabel);
+    AtomLabel.Format("%s%d", tmp, newindex);
 }
 void Atom::RefreshProperties()
 {