please set the capser context to ease using the condition function, eg. with `condition.call(this)`