refactor service provider

Signed-off-by: Ahmad Shah Hafizan Hamidin <ahmadshahhafizan@gmail.com>