addable function, almost 2000% faster