Most of the key assignment and movement parameter boundaries are set. Slight tweaking may be required to make it better, but its still presentable sort of :p