changed getch quite a bit and also how moves are handled