added serverstate, use extensionobject in variants