added simple promise-based directory tree builder