service design methods