Tying models of learning to design of collaborative learning software tools