abstract Sevice class