Loosen up on the decode arg requirements
diff --git a/mapstructure.go b/mapstructure.go
index 344bb7f..b7b3edc 100644
--- a/mapstructure.go
+++ b/mapstructure.go
@@ -33,7 +33,7 @@
 
 // Decode takes a map and uses reflection to convert it into the
 // given Go native structure. val must be a pointer to a struct.
-func Decode(m map[string]interface{}, rawVal interface{}) error {
+func Decode(m interface{}, rawVal interface{}) error {
 	val := reflect.ValueOf(rawVal)
 	if val.Kind() != reflect.Ptr {
 		return errors.New("val must be a pointer")