more re-working