first pass at non-unique filenames
merge non-unique and refactor Rakefile