separate instance data to make updating easier