WIP - refacto event listener