got rid of AbstractNode factory