should we remove `flag`?