apply reader/writer pattern on creation of download operations