better organization of classes