add backstep in newton method