tag subtag refactor