a chatroom orignal from http://www.cnblogs.com/haippy/archive/2012/01/06/2314036.html