changed names from object to xobject to avoid reserved word conflict