reorganize the classes