--- sc/source/ui/vba//vbachartobjects.hxx	
+++ sc/source/ui/vba//vbachartobjects.hxx
@@ -35,29 +35,49 @@
 #ifndef SC_VBA_CHARTOBJECTS_HXX
 #define SC_VBA_CHARTOBJECTS_HXX
 #include <org/openoffice/excel/XChartObjects.hpp>
+#include <org/openoffice/excel/XChartObject.hpp>
 #include <cppuhelper/implbase1.hxx>
 #include <com/sun/star/uno/XComponentContext.hpp>
 #include <com/sun/star/table/XTableCharts.hpp>
+#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include"vbacollectionimpl.hxx"
 #include "vbahelper.hxx"
+#include <hash_map>
 
-
-typedef ::cppu::ImplInheritanceHelper1< ScVbaCollectionBaseImpl, oo::excel::XChartObjects > ChartObjects_BASE;
+typedef CollTestImplHelper< oo::excel::XChartObjects > ChartObjects_BASE;
+/* #TODO see if this hash table is 'really' necessary
+typedef ::std::hash_map< ::rtl::OUString, 
+css::uno::Reference< oo::excel::XChartObject >,
+    ::rtl::OUStringHash,
+    ::std::equal_to< ::rtl::OUString > > aHashTable;
+*/
 
 class ScVbaChartObjects : public ChartObjects_BASE
 {		
 
-	css::uno::Reference< css::uno::XComponentContext > m_xContext;
-	css::uno::Reference< css::table::XTableCharts > m_xTableCharts;
+	css::uno::Reference< css::table::XTableCharts > xTableCharts;
+	css::uno::Reference< css::drawing::XDrawPageSupplier > xDrawPageSupplier;
+	// method associated with populating the hashmap ( I'm not convinced this is necessary )
+	//css::uno::Reference< oo::excel::XChartObject > putByPersistName( const rtl:::OUString& _sPersistChartName );
 public:
-	ScVbaChartObjects( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::table::XTableCharts >& xTableCharts ) : ChartObjects_BASE(xContext, css::uno::Reference< css::container::XIndexAccess >( xTableCharts, css::uno::UNO_QUERY ) ), m_xContext(xContext), m_xTableCharts( xTableCharts ) {}
+	ScVbaChartObjects( const css::uno::Reference< oo::vba::XHelperInterface >& _xParent, const css::uno::Reference< css::uno::XComponentContext >& _xContext, const css::uno::Reference< css::table::XTableCharts >& _xTableCharts, const css::uno::Reference< css::drawing::XDrawPageSupplier >&  _xDrawPageSupplier );
+
+	css::uno::Sequence< rtl::OUString > getChartObjectNames() throw( css::script::BasicErrorException );
+	void removeByName(const rtl::OUString& _sChartName);
+
+	// XChartObjects
+	virtual ::com::sun::star::uno::Any SAL_CALL Add( double Left, double Top, double Width, double Height ) throw (::com::sun::star::script::BasicErrorException);
+	virtual void SAL_CALL Delete(  ) throw (::com::sun::star::script::BasicErrorException);
 	// XEnumerationAccess
 	virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() throw (css::uno::RuntimeException);
 	// XElementAccess
 	virtual css::uno::Type SAL_CALL getElementType() throw (css::uno::RuntimeException);
 	// ScVbaCollectionBaseImpl	
 	virtual css::uno::Any createCollectionObject( const css::uno::Any& aSource ); 
+	// ChartObjects_BASE
+	virtual rtl::OUString& getServiceImplName();
+	virtual css::uno::Sequence<rtl::OUString> getServiceNames();
 };
 
 #endif //SC_VBA_WINDOW_HXX
