added roles, counting, and push notifications