Updated with mouse tracking and sideways movement