button generation basics work