Bunch of internal re-work and infrastructure to start working on libraries