diagonal up implemented, problem completed