implemented correct moves