refactoring, bug fixes, basic gameplay