work on groups
various optimizations
more random fixes
random fixes