use wrapper to define button