Functional implementations - file transfer