improve classes structures