Planning consists of an action selection phase where actions are selected and ordered to reach the desired goals, and a resource allocation phase where enough resources are assigned to ensure the successful execution of the chosen actions. In most real-world problems, these two phases are loosely coupled. Most existing planners do not exploit this loose-coupling, and perform both action selection and resource assignment employing the same algorithm. We shall show that this strategy severely curtails the scale-up potential of existing planners, including such recent ones as Graphplan and Blackbox. In response, we propose a novel planning framework in which resource allocation is teased apart from planning, and is handled in a separate "scheduling" phase. We ignore resource constraints during planning and produce an abstract plan that can correctly achieve the goals but for the resource constraints. Next, based on the actual resource availability, the abstract plan will be allocated resources to produce an executable plan. Our approach not only preserves both the correctness as well as the quality (measured in length) of the plan but also improves efficiency. We describe a prototype implementation of our approach on top of Graphplan and show impressive empirical results.