UML diagram and various dependency fixes