try to write some like http://juocode.github.io/jianli/