added event listeners, keyCodes and other things