allows user-defined classes / arbitrary ordering of functions or classes
/ starting file io