use a hirearchical directory structure so we have hopefully manageable numbers of files