adding generic param