operate on dict directly