slightly re-organise