adding dynamic events