Improve listener system