use warn instead of $stderr.puts