abstract the actual filesystem away from the clone implementation