Use path/filepath instead of path
Store reflect.Value instead of interface{}
Don't pass address of Go managed address.