attach listeners using the DOM Level 2 Event Model