optimize get/put