Author:
BYVoid <byvoid.kcp@gmail.com>

Contributors:
Peng Huang <shawn.p.huang@gmail.com>
Kefu Chai <tchaikov@gmail.com>
LI Daobing <lidaobing@gmail.com>
Asias <asias.hejun@gmail.com>
Peng Wu <alexepico@gmail.com>