add source parsing