Break hal apart by adding three new domains.