add event emitter extend
update oo extend
update model base and product model