added unfinished applyMove method