replace load_hal by client side action