improve client and server side, pass all spec
fix output in client is ugly and pass all spec
commit at Tue Jun 10 13:03:43 CST 2014
commit at Tue Jun 10 18:26:09 CST 2014
pass all example
commit at Tue Jun 10 18:53:45 CST 2014