4th commit - Add key partially implemented
5th commit - Add key  implemented