Design a Key-value store