move output and use async
start building the source docs