Updated UML, added diagram