added Object.extend for OO inheritance