no need for IIFE, also fixed bug

_hasRunAtLeastOnce = true needed to happen before options.update()