added ListenerBuilderSpec (not completed yet)