forces optimal first move, refactors tests