add shake gesture. Fix some bugs.