generate dictionary