Marge..(check in the old functionality) Added validation to source. Move

functionality to service.