_define: changed implementation