added move logic