now with library solver