re-organized initialization of listener and members