revamp game loop to use cursors