added tests and sample usage service