added class hierarchy diagram