lib roughly completed