supporting node, improving the factory code