refine architecture & custom uninstall button