add semantic css classes and add an JS event hook