Fix #4
Some clean up
Added service provider test