remote path can either be null or string.empty