Rework the Add methods and rename some variables to be more generalized