button panel as base class