using generic assertions