~~ working state