some improvements + ability to select by group