[mod] change api to give an alternate constructor for more explicit behavior