allow `sieve` to be provided as an option