update Handle type to include hid
add persist_handle support