update docs, and allow type overriding, and create events by default