shit i might rewrite
new map, might re-write again
game loop and structure