updated currentstate, second try