Now takes a user-specified file.