add source existance check