can reads files dynamically
second version
reads files dynamically
Second version