Split functions and types that they operate on into separate files