Refactor smooth state