add group_exn and add some docs