expanded version including methods: init,clear,replace,load