Implemented before, after. Needs tidying.
Updated array movement