finished (generating moves), began refactoring