new service class writeup with cleaner interface.