Some changes with improvements.