Revert "Revert "initial version of library;""

This reverts commit ca5e1c9fa5d381f6cd88b90c083c9f49005c27d1.