allow building single file
add event subtyping