Refactor into multiple files.