Initial library and tests