Added a reposition method and fixed some logic fails