Updates to HAL; adding structure, etc.