changeState() is now public