split generic functions from node specific function