begin to develop setting function