listeners are functionals. adapt for loops to be 1 based (not zero based)
it is important ?