improved HAL