Translation worked upon. Rotation math moved to it's own helper function.