refactor to eventually split the project

Eventually, gonna get it.