added createMissingDirectories() method