What is so strange in the order the debugger steps through the code? That's the order the code executes.