Mid way through implementing the shift command