more funcs for key