full refactor of taxonomy