implemented remaining moves.