more improvements
fixed allWithUserCount, now includes empty groups
moved js to its own section