improve install button behavior
put install button widget in separate file