fixed laws, strangely everything passes now
added optimise, adjusted laws, catches the merge problem. mostly