updated for listener