added several good changes