Documenting & reworking the event functions