Added class diagram, best practices