Completed UML (but not finished)