#25 add dictionary support