added PRE handlers and listeners