rename type params to be contextually accurate