Cleaned up UML branch