add hb interface

it's not verified carefully, test it later