Version with improvements on style