dir and file generation