Move to single file because sourcing sub files in Bash sucks.