updated voting logic, etc