implement front-end functionality of events-proto