reorganized, removed duplicates