changind some of exceptions to assertions
changind some of exceptions to assertions
more thoughts 2 types of listeners