Buttons less generic. Can now set internal variables.