fixed better source parsing