diff --git a/NIF_IO.h b/NIF_IO.h
index 9f5c85ce927f694ab40156340c2043e9581f0a08..88422259ee17254120b037df0e1cba1f93b37931 100644
--- a/NIF_IO.h
+++ b/NIF_IO.h
@@ -410,6 +410,17 @@ void NifStream( Key<T> const & key, ostream& file, uint version, KeyType type )
 	}
 }
 
+ostream & operator<<( ostream & out, PixelLayout const & val );
+template <class T> 
+ostream & operator<<( ostream & out, Key<T> const & val ) {
+	return out << "Time:  " << val.time << endl
+			   << "Data:  " << val.data << endl
+			   << "Forward Tangent:  " << val.forward_tangent << endl
+			   << "Backward Tangent:  " << val.backward_tangent << endl
+			   << "Bias:  " << val.bias << endl
+			   << "Continuity:  " << val.continuity << endl;
+}
+
 template <class T> 
 void NifStream( Key<T> const & key, ostream& file, uint version, uint type ) {
 	NifStream( key, file, (KeyType)type );