add `key` to top()