thinking of adding addListenerOnce

it would remove itself after the first time it's triggered