Add `When` method