Index: /cpp/frams/genetics/f4/f4_oper.cpp
===================================================================
--- /cpp/frams/genetics/f4/f4_oper.cpp	(revision 966)
+++ /cpp/frams/genetics/f4/f4_oper.cpp	(revision 967)
@@ -451,5 +451,5 @@
 	}
 	// weight
-	nn->f1 = GenoOperators::mutateNeuronProperty(nn->f1, NULL, -1);
+	nn->f1 = GenoOperators::getMutatedNeuroClassProperty(nn->f1, NULL, -1);
 	//nn->f1 = 10.0f * (rndDouble(1) - 0.5f);
 }
@@ -488,5 +488,5 @@
 		break;
 	case 2: // change weight
-		nn->f1 = GenoOperators::mutateNeuronProperty(nn->f1, NULL, -1);
+		nn->f1 = GenoOperators::getMutatedNeuroClassProperty(nn->f1, NULL, -1);
 		//nn->f1 += 1.0f * (rndDouble(1) - 0.5f);
 		break;
Index: /cpp/frams/genetics/fH/fH_oper.cpp
===================================================================
--- /cpp/frams/genetics/fH/fH_oper.cpp	(revision 966)
+++ /cpp/frams/genetics/fH/fH_oper.cpp	(revision 967)
@@ -390,5 +390,5 @@
 			// if it is weight, then method needs to use mutateNeuProperty
 			double current = par.getDouble(id);
-			par.setDouble(id, mutateNeuronProperty(current, NULL, -1));
+			par.setDouble(id, getMutatedNeuroClassProperty(current, NULL, -1));
 		}
 	}
@@ -430,5 +430,5 @@
 	Neuro neu;
 	neu.setDetails(det == "" ? "N" : det);
-	GenoOperators::mutateRandomNeuronOrNeuroclassProperty(&neu);
+	GenoOperators::mutateRandomNeuroClassProperty(&neu);
 	det = neu.getDetails();
 }
Index: /cpp/frams/genetics/fS/fS_oper.cpp
===================================================================
--- /cpp/frams/genetics/fS/fS_oper.cpp	(revision 966)
+++ /cpp/frams/genetics/fS/fS_oper.cpp	(revision 967)
@@ -607,5 +607,5 @@
 			advance(it, rndUint(inputCount));
 
-			it->second = GenoOperators::mutateNeuronProperty(it->second, selectedNeuron, -1);
+			it->second = GenoOperators::getMutatedNeuroClassProperty(it->second, selectedNeuron, -1);
 			return true;
 		}
@@ -680,5 +680,5 @@
 		if (*par.type(i) == 'f')
 		{
-			double change = GenoOperators::mutateNeuronProperty(par.getDouble(i), neu, GenoOperators::NEUROCLASS_PROP_OFFSET + i);
+			double change = GenoOperators::getMutatedNeuroClassProperty(par.getDouble(i), neu, GenoOperators::NEUROCLASS_PROP_OFFSET + i);
 			par.setDouble(i, change);
 		}
Index: /cpp/frams/genetics/genooperators.cpp
===================================================================
--- /cpp/frams/genetics/genooperators.cpp	(revision 966)
+++ /cpp/frams/genetics/genooperators.cpp	(revision 967)
@@ -76,13 +76,13 @@
 }
 
-bool GenoOperators::mutateRandomNeuronOrNeuroclassProperty(Neuro* n)
+bool GenoOperators::mutateRandomNeuroClassProperty(Neuro* n)
 {
 	bool mutated = false;
-	int prop = selectRandomNeuronProperty(n);
+	int prop = selectRandomNeuroClassProperty(n);
 	if (prop >= 0)
 	{
 		if (prop >= GenoOperators::NEUROCLASS_PROP_OFFSET)
 		{
-			SyntParam par = n->classProperties();   //commits changes when p is destroyed
+			SyntParam par = n->classProperties();   //commits changes when this object is destroyed
 			mutated = mutateProperty(par, prop - GenoOperators::NEUROCLASS_PROP_OFFSET);
 		}
@@ -96,5 +96,5 @@
 }
 
-int GenoOperators::selectRandomNeuronProperty(Neuro *n)
+int GenoOperators::selectRandomNeuroClassProperty(Neuro *n)
 {
 	int neuext = n->extraProperties().getPropCount(),
@@ -106,5 +106,5 @@
 }
 
-double GenoOperators::mutateNeuronProperty(double current, Neuro *n, int i)
+double GenoOperators::getMutatedNeuroClassProperty(double current, Neuro *n, int i)
 {
 	if (i == -1) return mutateCreepNoLimit('f', current, 2, true); //i==-1: mutating weight of neural connection
Index: /cpp/frams/genetics/genooperators.h
===================================================================
--- /cpp/frams/genetics/genooperators.h	(revision 966)
+++ /cpp/frams/genetics/genooperators.h	(revision 967)
@@ -181,11 +181,11 @@
 	//@{
 
-	static const int NEUROCLASS_PROP_OFFSET = 100; //a property is identified by some functions below as a single-value integer index, yet a property concerns either a Neuron or a NeuroClass, hence this offset to tell one case from the other.
+	static const int NEUROCLASS_PROP_OFFSET = 100; //a NeuroClass property is identified by some functions below as a single-value integer index, yet a property is either "standard" or "extra" (two separate lists), hence this offset to tell one case from the other.
 
 	static int roulette(const double *probtab, const int count); 	///<returns random index according to probabilities in the \e probtab table or -1 if all probs are zero. \e count is the number of elements in \e probtab.
 	static bool getMinMaxDef(ParamInterface *p, int propindex, double &mn, double &mx, double &def); ///<perhaps a more useful (higher-level) way to obtain min/max/def info for integer and double properties. Returns true if min/max/def was really available (otherwise it is just invented).
-	static bool mutateRandomNeuronOrNeuroclassProperty(Neuro* n); ///<high-level neuron mutation function, will select and mutate a random property of a neuron or its neuroclass. Returns true if successful and some property was actually mutated. Could return false when the neuron and its neuroclass have no properties, or when a randomly selected property was not suitable for mutation (for example a string or another non-number type).
-	static int selectRandomNeuronProperty(Neuro* n); ///<selects random property (either 0-based extraproperty of Neuro or NEUROCLASS_PROP_OFFSET-based property of its NeuroClass). -1 if Neuro has no properties.
-	static double mutateNeuronProperty(double current, Neuro *n, int propindex); ///<returns value \e current mutated for the property \e propindex of NeuroClass \e nc or for extraproperty (\e propindex - NEUROCLASS_PROP_OFFSET) of Neuro. Neuro is used as read-only. Give \e propindex == -1 to mutate connection weight (\e nc is then ignored).
+	static bool mutateRandomNeuroClassProperty(Neuro* n); ///<high-level neuron mutation function, will select and mutate a random property of Neuron's NeuroClass. Returns true if successful and some property was actually mutated. Could return false when the NeuroClass of the Neuron have no properties, or when a randomly selected property was not suitable for mutation (for example a string or another non-number type).
+	static int selectRandomNeuroClassProperty(Neuro* n); ///<selects random property (either 0-based extraproperty of NeuroClass or NEUROCLASS_PROP_OFFSET-based standard property of NeuroClass). -1 if Neuroclass has no properties.
+	static double getMutatedNeuroClassProperty(double current, Neuro *n, int propindex); ///<returns value \e current mutated for the property \e propindex of Neuron's NeuroClass or for extraproperty (\e propindex - NEUROCLASS_PROP_OFFSET) of Neuron's NeuroClass. Neuro \e n is used as read-only. Use \e propindex == -1 to mutate connection weight (\e n and \e i are then ignored).
 	static bool mutatePropertyNaive(ParamInterface &p, int propindex); ///<creep-mutate selected property. Returns true when success. mutateProperty() should be used instead of this function.
 	static bool mutateProperty(ParamInterface &p, int propindex); ///<like mutatePropertyNaive(), but uses special probability distributions for some neuron properties.
@@ -207,5 +207,5 @@
 	static NeuroClass* parseNeuroClass(char *&s); ///<returns longest matching neuroclass or NULL if the string does not begin with a valid neuroclass name. Advances \e s pointer.
 	static Neuro* findNeuro(const Model *m, const NeuroClass *nc); ///<returns pointer to first Neuro of class \e nc, or NULL if there is no such Neuro.
-	static int neuroClassProp(char *&s, NeuroClass *nc, bool also_v1_N_props = false); ///<returns 0-based property number for \e neuroclass, NEUROCLASS_PROP_OFFSET-based extraproperty number for Neuro, or -1 if the string does not begin with a valid property name. Advance \e s pointer if success.
+	static int neuroClassProp(char *&s, NeuroClass *nc, bool also_v1_N_props = false); ///<returns 0-based extraproperty of NeuroClass or NEUROCLASS_PROP_OFFSET-based standard property of NeuroClass, or -1 if the string does not begin with a valid property name. Advance \e s pointer if success.
 	static bool isWS(const char c); ///<is \e c a whitespace char?
 	static void skipWS(char *&s); ///<advances pointer \e s skipping whitespaces.
