Multi-directional Adds

8 directions of adding now possible, with shared code function.