Improved movement code, now not framerate dependant