revamps positionStates