Clone from yiminghe's lab ( https://github.com/yiminghe/lab/ ) — Read more  http://yiminghe.javaeye.com