Appoaches to acquiring problem-solving knowledge have focused on achieving general results with simple problem domains. These domains have had small search spaces, few subgoal interactions, and only Boolean constraints. Real-world application domains have many subgoal interactions, large search spaces, and real- valued performance constraints as well as Boolean constraints. SteppingStone is a new general learning problem solver for solving difficult real-world problems. SteppingStone solves these problems by decomposing them into simpler subproblems, and then learning to deal with the interactions that arise between them. An initial version of our approach demonstrates this in the classical tile-sliding domain. This work will extend the system and demonstrate its capability in real-world problem- solving situations such as VLSI design and job-shop scheduling. By experimenting with both classical problem-solving domains and real-world aplications it will demonstrate that the problem solver is both powerful and general.