[fix] added the function like call style to factory macros