update hammer function