Squashed commit of the following:

commit 7fce379a085e081e9c295977e2535ced29056e68
Author: cole xu <xjy0925@163.com>
Date:   Mon Sep 29 13:45:43 2014 +0800

    1