added get external source function