Expected return takes parameters

some ideas on cleaning up a bit