addkey function