diff --git a/NIF_Blocks.cpp b/NIF_Blocks.cpp
index 5d3e7e68e1abbc5fd01a46b18f27d929a4ff8515..2441fc5a14640eb40b97d8fdf8568c4d09d62278 100644
--- a/NIF_Blocks.cpp
+++ b/NIF_Blocks.cpp
@@ -129,6 +129,7 @@ attr_ref ABlock::GetAttr(string attr_name) {
 	map<string, attr_ref>::iterator it;
 	it = _attr_map.find(attr_name);
 	if (it == _attr_map.end()) {
+		//cout << "Requested Attribute does not exist:  " << attr_name << endl;
 		return attr_ref(NULL);
 	} else {
 		return attr_ref((*it).second);
diff --git a/NIF_Blocks.h b/NIF_Blocks.h
index ef594906cd8860474ae8b789816c2fb9bef1bdf3..c1638c6df9b649bccee84cde4227f9ea787e05e5 100644
--- a/NIF_Blocks.h
+++ b/NIF_Blocks.h
@@ -104,7 +104,7 @@ public:
 
 	//Name Functions
 	virtual bool Namable() { return _namable; }
-	virtual void SetName( string & name ) { _name = name; }
+	virtual void SetName( string name ) { _name = name; }
 	virtual string GetName() { return _name; }
 
 	//--Internal Functions--//
diff --git a/niflib.h b/niflib.h
index 1706e5504e0db35c85579e3e8c1688d7c5be60f9..03c8cb85b48775aab2e1d21f0b4f3dfcf65931ca 100644
--- a/niflib.h
+++ b/niflib.h
@@ -52,6 +52,7 @@ using namespace std;
 //--Forward Declarations of Classes & Structs--//
 class IAttr;
 class IBlock;
+class IShapeData;
 class ITriShapeData;
 class ISkinData;
 class IKeyframeData;
@@ -131,6 +132,7 @@ unsigned int BlocksInMemory();
 
 //--Query Functions--//
 // These are shorthands for using QueryInterface, and required for scripting languages
+IShapeData * QueryShapeData( blk_ref & block );
 ITriShapeData * QueryTriShapeData( blk_ref & block );
 ISkinData * QuerySkinData( blk_ref & block );
 INode * QueryNode( blk_ref & block );
@@ -382,7 +384,7 @@ public:
 
 	//Name Functions
 	virtual bool Namable() = 0;
-	virtual void SetName( string & name ) = 0;
+	virtual void SetName( string name ) = 0;
 	virtual string GetName() = 0;
 	
 protected: