# Learn Interfaces by Building an Equation Solver - Step 64

### Tell us what’s happening:

is this not how it is supposed to be? am I tripping or what

``````# User Editable Region

details = equation.analyze()
match details:
case {'slope': slope, 'intercept': intercept}:
details_list = [f'slope = {slope:.3f}', f'y-intercept = {intercept:.3f}']
case {'concavity': concavity, 'min_max': (x, y)}:
details_list = [f'concavity = {concavity}', f'min_max = ({x:.3f}, {y:.3f})']
case _:
details_list = []
for detail in details_list:
output_string += detail + '\n'

# User Editable Region
``````

User Agent is: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15`

### Challenge Information:

Learn Interfaces by Building an Equation Solver - Step 64

Your `case` for the quad_eq should looks exactly like what’s returned for the `analyze(self)` function of the class. Look at the linear function `analyze(self)` `return`, it’s exactly the same.

`min_max` should be a variable, not a string.

format `concavity = <concavity>` and `<min_max> = (<x>, <y>)`, respectively.

See how the instructions show variables in `<brackets>`

``````details = equation.analyze()
match details:
case {'slope': slope, 'intercept': intercept}:
details_list = [f'slope = {slope:.3f}', f'y-intercept = {intercept:.3f}']
case {'concavity': concavity, 'min_max': (x, y)}:
details_list = [f'concavity = {concavity}', f'{min_max} = ({x:.3f}, {y:.3f})']
case _:
details_list = []
for detail in details_list:
output_string += detail + '\n'```
I still dont seems to get what your saying about the case?``````

Look at your linear equation class analyze method:

``````def analyze(self):
slope, intercept = self.coefficients.values()
return {'slope': slope, 'intercept': intercept}
``````

Look at the `return`, it’s exactly the same as your lin eq case:

``````case {'slope': slope, 'intercept': intercept}:
``````

``````details = equation.analyze()
match details:
case {'slope': slope, 'intercept': intercept}:
details_list = [f'slope = {slope:.3f}', f'y-intercept = {intercept:.3f}']
case {'x': x, 'y': y, 'min_max': min_max, 'concavity': concavity}:
details_list = [f'concavity = {concavity}',f'{min_max} = ({x:+.3f},{y:+.3f})']
for detail in details_list:
output_string += detail + '\n'
``````

this still is not right however?

It’s more correct now than it was. Pay attention to any hints or errors.

This looks a bit suspicious. You can look to previous parts of code where you were adding to `output_string` and try using a similar method.