introduce new trait and improve API checking.