chapters now have an optional id (for use when editing), and `fileName` has been simplified to `file`
mostly contains interfaces for client-side forms