nit: All of these System.outs should be System.errs