other implementations of get, put