move taxonomy out to separate module