updated classes structure