making file loading more flexible to enable loading outside of assemble