add 'source_file' method