improved ConventionalDict for safety and efficiency
add test for ConventionalDict
refactoring
finished some TODOs