diff --git a/pGroupCohomology/cohomology.pyx b/pGroupCohomology/cohomology.pyx
index 8e37be9..04522c7 100644
--- a/pGroupCohomology/cohomology.pyx
+++ b/pGroupCohomology/cohomology.pyx
@@ -3475,9 +3475,9 @@ class COHO(Ring):
         else:
             safe_save(self.__getstate__(), os.path.join(self.dat_folder,'State.sobj'))
         if os.path.realpath(self.root) == os.path.realpath(COHO.workspace):
-            StateFile = os.path.join('@user_db@',self.GStem,'dat','State')
+            StateFile = os.path.join('@user_db@',str(self.GStem),'dat','State')
         elif os.path.realpath(self.root) == os.path.realpath(COHO.local_sources):
-            StateFile = os.path.join('@public_db@',self.GStem,'dat','State')
+            StateFile = os.path.join('@public_db@',str(self.GStem),'dat','State')
         else:
             StateFile = self._key[1]
         return COHO_unpickle, (self._key[0], StateFile)
@@ -3576,11 +3576,12 @@ class COHO(Ring):
             RestrMaps = []
         ## Save self.Monomials and self.Resl externally, instead of returning self.Resl.__reduce()[1]
         import os
-        gps_folder = os.path.join(self.GStem,os.path.split(self.gps_folder)[1])
-        res_folder = os.path.join(self.GStem,os.path.split(self.res_folder)[1])
-        dat_folder = os.path.join(self.GStem,os.path.split(self.dat_folder)[1])
-        inc_folder = os.path.join(self.GStem,os.path.split(self.inc_folder)[1])
-        Resl = os.path.join(res_folder,'R'+self.GStem+'.sobj')
+        thisGStem = str(self.GStem)
+        gps_folder = os.path.join(thisGStem,os.path.split(self.gps_folder)[1])
+        res_folder = os.path.join(thisGStem,os.path.split(self.res_folder)[1])
+        dat_folder = os.path.join(thisGStem,os.path.split(self.dat_folder)[1])
+        inc_folder = os.path.join(thisGStem,os.path.split(self.inc_folder)[1])
+        Resl = os.path.join(res_folder,'R{}.sobj'.format(thisGStem))
         safe_save(self.Resl,os.path.join(self.root,Resl))
         self.exportMonomials()
 
@@ -3942,7 +3943,7 @@ class COHO(Ring):
             True
 
         """
-        return os.path.join(self.gps_folder,'H'+self.GStem+'.sobj')
+        return os.path.join(self.gps_folder,'H{}.sobj'.format(self.GStem))
 
 ####################################
 
@@ -3982,7 +3983,7 @@ class COHO(Ring):
         """
         cdef COCH X
         if not 'bla' in self.Monomials:
-            safe_save([[i,[X.Deg,X.Name,X.Data]] for i,X in self.Monomials.items()], os.path.join(self.dat_folder,'M%s.sobj'%self.GStem))
+            safe_save([[i,[X.Deg,X.Name,X.Data]] for i,X in self.Monomials.items()], os.path.join(self.dat_folder,'M{}.sobj'.format(self.GStem)))
 
     def importMonomials(self):
         """
@@ -4028,7 +4029,7 @@ class COHO(Ring):
         cdef dict D = {}
         if 'bla' in self.Monomials:
             coho_logger.info('Import monomials',self)
-            Monomials = load(os.path.join(self.dat_folder,'M'+self.GStem+'.sobj'))  # realpath here?
+            Monomials = load(os.path.join(self.dat_folder,'M{}.sobj'.format(self.GStem)))  # realpath here?
             for i,Mo in Monomials:
                 D[i] = COCH(self,Mo[0],Mo[1],Mo[2], is_polyrep=True)
             self.Monomials = D
@@ -4219,7 +4220,7 @@ class COHO(Ring):
         del self._property_dict['RESTRMAPS']
         if coho_options['sparse']:
             for i,X in self.RestrMaps.items():
-                X[1].exportData(os.path.join(self.inc_folder,self.GStem+'sg'+str(i)+'_'))
+                X[1].exportData(os.path.join(self.inc_folder,'{}sg{}_'.format(self.GStem, str(i))))
         del self._property_dict['SUBGPS']
         if self.sgpDickson:
             del self._property_dict['sgpDickson']
@@ -4725,7 +4726,7 @@ Minimal list of algebraic relations:
                 coho_logger.warning("The data for the cohomology ring at <%x> have apparently been moved.", "Loading a cohomology ring", id(self))
                 if isinstance(self._property_dict['_need_new_root'], (str, unicode)):
                     newroot = str(self._property_dict['_need_new_root'])
-                    default_name = str(os.path.join(newroot,self.GStem,'H'+self.GStem+'.sobj'))
+                    default_name = os.path.join(newroot,str(self.GStem),'H{}.sobj'.format(self.GStem))
                 else:
                     # try to infer the new location from the file this ring was loaded from
                     newroot = os.path.split(os.path.split(defaultname)[0])[0]
@@ -7046,7 +7047,7 @@ Minimal list of algebraic relations:
         if not ((isinstance(q,int) or isinstance(q,Integer)) and (isinstance(nr,int) or isinstance(nr,Integer)) and (isinstance(n,int) or isinstance(n,Integer))):
             raise TypeError("Subgroup and imbedding have to be defined by three integers")
         if (q,nr) in self.subgps: # that isomorphism type is known
-            M = MTX.from_filename(os.path.join(self.inc_folder,self.GStem+'sg'+str(n)+'.ima'))
+            M = MTX.from_filename(os.path.join(self.inc_folder,'{}sg{}.ima'.format(self.GStem,str(n))))
             ch = self.hom(M, self.subgps[(q,nr)])
         else:
             saveopts = dict(coho_options)
@@ -7058,7 +7059,7 @@ Minimal list of algebraic relations:
             h.make()
             coho_options.clear()
             coho_options.update(saveopts)
-            M = MTX.from_filename(os.path.join(self.inc_folder,self.GStem+'sg'+str(n)+'.ima'))
+            M = MTX.from_filename(os.path.join(self.inc_folder,'{}sg{}.ima'.format(self.GStem,str(n))))
             ch = self.hom(M,h)
             CurrDeg = self.Resl.deg()
             while h.knownDeg < CurrDeg:
@@ -7135,7 +7136,7 @@ Minimal list of algebraic relations:
         ## Get information from the gap-readable sgs-file
         from pGroupCohomology.auxiliaries import gap
         try:
-            f = gap.ReadAsFunction(os.path.join(self.inc_folder,self.GStem+'.sgs'))
+            f = gap.ReadAsFunction(os.path.join(self.inc_folder,'{}.sgs'.format(self.GStem)))
             if f == Failure:
                 return
             L = f()
@@ -12368,7 +12369,7 @@ is an error. Please inform the author!""")
                     chm[1].lift()
                 if coho_options['sparse']:
                     import os
-                    chm[1].exportData(os.path.join(self.inc_folder,self.GStem+'sg'+str(NR)+'_'))
+                    chm[1].exportData(os.path.join(self.inc_folder,'{}sg{}_'.format(self.GStem,str(NR))))
             R.free_ugb()
         ###################
         ## CHOOSING NEW RING GENERATORS
