Add extra add overloads

also renamed variable names to something that seemed more aligned with the docs.