update generics
iway: deprecate ref()