add shake handler