working on key function binding