implemented group class