split service provider up
remove unused namespace imports
add more unit tests