changed listener a bit