factorized methods that rename conflicting files
dont declare until needed