big refactor, we must practice adding number