add 'shake' function.