Abstract add service