updated names of m0, m, n to m1, m2, n2 for a better consistency
improving theories
implementing kG