Making the library more modular