replacing CB with events
fix conflicts