move listener to subscriber