updated classes & diagram