each major operation is now a function.