Squashed commit of the following:

commit 6845e5634e1e99d328e5c26c8c9f695ace54e5c2
Author: pityonline <pityonline@gmail.com>
Date:   Fri Jan 25 17:28:08 2013 +0800

    Add d.

commit 21aa514e38c196129b2fec3f91e789f3ecceac7f
Author: pityonline <pityonline@gmail.com>
Date:   Fri Jan 25 17:27:19 2013 +0800

    Add c