Long and hard - but it works.