add TAG support, now TAG can be used insted of UUIDs