not-found and already-exists exceptions better handled in the rest layer