modify option generation algorithms