add is shorter
add custom function and templated argument later, not relevant for algorithm