added FilePreProcessor logic to support #load directives