* added well-designed operator+, operator-, and operator*
* added more abstraction to the PrimalAlgorithms