[updated] moves logic + diagnoal move final