refactored _combine directly into add
added tests for before_cart_add hook