change API: solution() to calculate the solution
refactoring API : add() + solution()