improved [TAG] parser