added the ability to load and external file