maybe explain/clarify a bit about the base case, that is effectively non-async?