diagonal path finding