improve javascript-oo