hdk framework