cleaning up listeners
added distributor and stuff
merge