modified BButton