diff --git a/command.go b/command.go
index 2662843..486bacb 100644
--- a/command.go
+++ b/command.go
@@ -5,7 +5,6 @@
 	"sort"
 	"strconv"
 	"strings"
-	"unsafe"
 )
 
 // Command represents an application command. Commands can be added to the
@@ -229,7 +228,17 @@
 		subcommand := mtag.Get("command")
 
 		if len(subcommand) != 0 {
-			ptrval := reflect.NewAt(realval.Type(), unsafe.Pointer(realval.UnsafeAddr()))
+			var ptrval reflect.Value
+
+			if realval.Kind() == reflect.Ptr {
+				ptrval = realval
+
+				if ptrval.IsNil() {
+					ptrval.Set(reflect.New(ptrval.Type().Elem()))
+				}
+			} else {
+				ptrval = realval.Addr()
+			}
 
 			shortDescription := mtag.Get("description")
 			longDescription := mtag.Get("long-description")
@@ -237,6 +246,7 @@
 			aliases := mtag.GetMany("alias")
 
 			subc, err := c.AddCommand(subcommand, shortDescription, longDescription, ptrval.Interface())
+
 			if err != nil {
 				return true, err
 			}
diff --git a/group.go b/group.go
index 6133a71..9e057ab 100644
--- a/group.go
+++ b/group.go
@@ -9,7 +9,6 @@
 	"reflect"
 	"strings"
 	"unicode/utf8"
-	"unsafe"
 )
 
 // ErrNotPointerToStruct indicates that a provided data container is not
@@ -338,10 +337,22 @@
 	subgroup := mtag.Get("group")
 
 	if len(subgroup) != 0 {
-		ptrval := reflect.NewAt(realval.Type(), unsafe.Pointer(realval.UnsafeAddr()))
+		var ptrval reflect.Value
+
+		if realval.Kind() == reflect.Ptr {
+			ptrval = realval
+
+			if ptrval.IsNil() {
+				ptrval.Set(reflect.New(ptrval.Type()))
+			}
+		} else {
+			ptrval = realval.Addr()
+		}
+
 		description := mtag.Get("description")
 
 		group, err := g.AddGroup(subgroup, description, ptrval.Interface())
+
 		if err != nil {
 			return true, err
 		}
diff --git a/termsize.go b/termsize.go
index df97e7e..1ca6a85 100644
--- a/termsize.go
+++ b/termsize.go
@@ -1,4 +1,4 @@
-// +build !windows,!plan9,!solaris
+// +build !windows,!plan9,!solaris,!appengine
 
 package flags
 
diff --git a/termsize_nosysioctl.go b/termsize_nosysioctl.go
index 2a9bbe0..3d5385b 100644
--- a/termsize_nosysioctl.go
+++ b/termsize_nosysioctl.go
@@ -1,4 +1,4 @@
-// +build windows plan9 solaris
+// +build windows plan9 solaris appengine
 
 package flags
 
diff --git a/termsize_unix.go b/tiocgwinsz_bsdish.go
similarity index 100%
rename from termsize_unix.go
rename to tiocgwinsz_bsdish.go
diff --git a/termsize_linux.go b/tiocgwinsz_linux.go
similarity index 100%
rename from termsize_linux.go
rename to tiocgwinsz_linux.go
diff --git a/termsize_other.go b/tiocgwinsz_other.go
similarity index 100%
rename from termsize_other.go
rename to tiocgwinsz_other.go
