row service implementation + tests