[WIP] making code simpler by adding operator+ to some of selected classes
[WIP] still working on refactoring
[WIP] refactoring and updating unit tests
add a few more member functions to make the code easier to read