do not restrict interface to a single type