playing with Dictionary alternative; needs testing