make the sources output more types on demand