added ability to SetSource