First go at a library that works!