recreate button on changes