Move work on the core library to its own directory