group event implementation