Refactored the evolve method, some other fixes added too