fix class architecture