implemented events, basic typing, more work to be done
implemented events, basic typing, more work to be done