improved Dictionary data struct