#228, fixed code and UML