added abstract web service