accept string as key