Minor variable reordering for clarity.