Add framework for loading a directory. Break code into multiple files.