Refactoring the $.fn.add method based on Ken's feedback, also update documentation and tests