flushing out service calls, tons of error handling