breaking up monolithic class