Split code into smaller files.
Add substitutions option.