A new generic model of the structure and process of critical thinking is proposed. This model is the basis for a software tool which permits the representation of a variety of specific models of critical thinking. The tool is an environment that supports the development and analysis of arguments, it also supports the teaching and learning of critical thinking skills. The usefulness of the program is established across a variety of critical thinking activities for a range of users from learner to expert in various domains of discourse. An expert evaluation by an instructor of argument supports the claims for possible educational use. Some features of the design are shown to have application in existing cooperative work systems.