removing add() with rowvector. general matrix operation takes care of it.
refactoring add method in chains -- hopefully fixes the issues with Windows