some improvements;