add virtual attribute tag_list to handle tags