add put and get interface