Working Game!! Still need to refactor and optimize, clean up, etc