starting to make this more oo
more events to subscribe to