Changed to header only library
Cleaner and more consistent because of heavy use of templates as well as making it a bit easier to move around