smooth state fixes, still needs some work