added source file persistence