errors now go to stderr instead of stdout