build with built-in factory plugin