also print source info, and fix printf