neatness
linting
only connect event listeners when necessary