Reordered val's to avoid invalid initialization order.