using creatingParentsIfNeeded instead of ensurePath