exitlistener no more private