Re-coded Movement

Made cleaner, added command pattern