add file_writer and command_line_interface