support self object