Optimized and named groups for discat

also noting that I didn't write some code