add support for React's key