use NLS to handle messages