merged from Tuan and Vinh