implement object layer on top of key-value, added more unit test