convert to use dataset type (untested)
give class more descriptive title
add special group logic