add magic functions to service abstract