We'll handle the error-handling in a separate commit, as it's still entangled with the view function.