optimize unfulfilled rule handling a bit