add animation and gesture