completed test by Vinh Phan