added setup, library and tests