improve votes, approval
add: vote count
add: event bus; event-driven comm, vote