better exceptions
removed unused listener callbacks