update listener and layout