completed service and its tests and documentation. closes #25