refactor taxonservice from nodefactory to seperate concerns