reorganized classes