-- TypeA for both cast and copy targetURL check shouldn't fail it it doesn't exist such is a common occurrence of not having a target, instead we verify if it exists is it a directory? -- Rename all 'directory' references to folder