Design and implementation of a collaborative virtual problem-based learning environment