split non essentials to lib