http://www.cnblogs.com/zhangzt/archive/2009/12/14/1623426.html
http://www.cnblogs.com/webbzhong/p/4800980.html
http://www.cnblogs.com/jiekzou/p/4491505.html