changed listeners from on to ONCE