loop on all varargs
refactor __call
handle both numbers and strings in __call