added ability to do custom events with msgs