checking move validity in separate method