updated PushButton class