#36 , adjusted UML