Diagonal movement, cmdline arguments

Large refactoring, huge reduction in iterations during movement