I have a grid with but everytime I add it, I get an error:

this.ds is undefined
http://path.to/ext-3.0.3/ext-all-debug.js
Line 63373
I tried the last build I had (3.0.0) and I get the same but I cannot find out what is going on. My code is:

Code:
var contactsDS = new Ext.data.Store({
	id: "contactsDS",
	proxy: new Ext.data.HttpProxy({
		url: "functions.php",
		method: "POST"
	}),
	baseParams: {task: "GET-CONTACTS"},
	reader: new Ext.data.JsonReader({
		root: "results",
		totalProperty: "total"
	},[
		{name: "name", type: "string", mapping: "name"},
		{name: "email", type: "string", mapping: "email"},
		{name: "group", type: "string", mapping: "group"}
	]),
	sortInfo:{field: "name", direction: "ASC"},
	listeners: {
		"load": function(thisStore, Records, Options) {
//			alert(thisStore.getTotalCount());  //returns 1
		}
	}
}).load();
var contactsCM = new Ext.grid.ColumnModel(
	[new Ext.grid.RowNumberer(),{
		header: "Name",
		dataIndex: "name",
		width: 50,
		sortable: true
	}]
);
contactsCM.defaultSortable = true;
var contactsGrid =  new Ext.grid.EditorGridPanel({
	id: "contactsGrid",
	store: contactsDS,
	cm: contactsCM,
	selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),
	anchor: "100% 100%"
});
functions.php returns this:

({'total':'1','results':[{"0":"Webmaster","name":"Webmaster","1":"[email protected]","email":"[email protected]","2":"None","group":"None"}]})