It is increasingly common for programming environments to provide a library of re-usable code components. Programmers build their programs by piecing together these components and, when necessary, specializing them or creating new components. Thus, finding and composing components become central programming tasks. In this paper, we analyse the Smalltalk/V environment with respect to these programming tasks and develop a redesign in which code components can be borrowed and manipulated under the task-oriented rubric of projects. © 1992.