service abstract