code and dictionaries to save time
Merge https://github.com/Fusian/CS909