added draft UML class diagram