WIP: use promise in `fetchOptions` method