use more discrimination with Subs creation