added diciontary support