Fully tested and working as expected. Still need ddg.source