break modules into seperate files
add custom event handlers for input box
add custom event handlers for typing events