more implementation of keys