useful reference:
http://crazysky.iteye.com/blog/731107
http://skyful.iteye.com/blog/867470
http://juvenshun.iteye.com/blog/349534
http://blog.sina.com.cn/s/blog_76a4f28901017vqp.html
http://wenku.baidu.com/view/943bcaf8770bf78a65295427.html
-------------------------------------------------------------------------------