buttons: preliminary work