2013/12/06 basic function complete