diff --git a/errors.go b/errors.go
index 1c9731a..960d7c7 100644
--- a/errors.go
+++ b/errors.go
@@ -134,6 +134,18 @@
 	}
 }
 
+// WithStack annotates err with a stack trace at the point WithStack was called.
+// If err is nil, WithStack returns nil.
+func WithStack(err error) error {
+	if err == nil {
+		return nil
+	}
+	return &withStack{
+		err,
+		callers(),
+	}
+}
+
 type withStack struct {
 	error
 	*stack
@@ -189,6 +201,18 @@
 	}
 }
 
+// WithMessage annotates err with a new message.
+// If err is nil, WithStack returns nil.
+func WithMessage(err error, message string) error {
+	if err == nil {
+		return nil
+	}
+	return &withMessage{
+		cause: err,
+		msg:   message,
+	}
+}
+
 type withMessage struct {
 	cause error
 	msg   string
diff --git a/stack_test.go b/stack_test.go
index 915d11f..2624e45 100644
--- a/stack_test.go
+++ b/stack_test.go
@@ -155,12 +155,12 @@
 		"github.com/pkg/errors/stack_test.go",
 	}}
 
-	for i, tt := range tests {
+	for _, tt := range tests {
 		pc := tt.Frame.pc()
 		fn := runtime.FuncForPC(pc)
 		file, _ := fn.FileLine(pc)
 		got := trimGOPATH(fn.Name(), file)
-		testFormatRegexp(t, i, got, "%s", tt.want)
+		testFormatRegexp(t, got, "%s", tt.want)
 	}
 }
 
