smoothState.js