The RAP reactive plan execution system is specifically designed to accept plans and goals at a high level of abstraction and expand them into detailed actions at run time. One of the key features of the RAP system is the use of hierarchical expansion methods that allow different paths of execution for the same goals in different situations. Another central reason for the hierarchy is to create modular expansion methods that can be used in the execution of many different tasks. However, experience using the RAP system to control the University of Chicago robot Chip in the 1995 IJCAI robot competition has shown that there are difficult trade-offs between modularity and correctness in a predefined plan hierarchy. This paper describes the RAP hierarchies used to control the robot while cleaning up a small office space and discusses some of the issues raised in writing these RAPs to be useful for other tasks as well. In particular, realistic reactive plans must support concurrency that crosses simple modular decomposition boundaries and efficient strategies for carrying out tasks that depend on active sensing require advanced knowledge of sensing requirements.