only use strings for keys