Added a little bit of abstraction to the service