added smoothState