use errors.New instead of fmt.Errorf
handle errnums that aren't in map