saveState is in the interface now