Cleaned up HAL