Added more comments and allow for passing extra params to solve()