pushing the listen logic