updated class, pattern and state diagrams