nof all factory functions return function signature