Re-implemented diagonal movement