created two levels of abstraction: RelatingService and StartBoundService