use `Option` for resolve call that can fail