Split up functions into files so they can be autoloaded