simplify demo; add better support for content inside button