added basic classes
added UML diagram