Updated UML. It is now final