#UDPATE: minor update.
#ADD: Add some test case.