Author: tim_cho@ititw.com