adding recurse to create missing directories