Can move services across pools

Reusing `err` here seems kind of fragile. Can we haz new variable for this case?