take_shift funcitonality + test