3D movement now works correctly.  Added scaling