changing class architecture