refactoring, added collaboration model