tested and working. but fast population is homogenous
some minor changes