Complete rewrite to use classess for algs
Made LibraryWrapper as kind-of-singleton so 1 lib instance is at a time
Add default input