Teach++: A Cooperative Distance Learning and Teaching Environment