Added crude bounds checking and changed movement to persist until keypress or bounds