split into two projects
finish refactoring framework