handle factored source input