added dynamic file processing