fixed observer to send if not private; fixed voting calculation