why the `return` here?