state prototype add