Major refactoring in the service layer

I also updated the gitignore file with the usual rigamarol if that's ok?