dealing with ewarning rather than making it via exception