add dictionary support