add some thinking~