generate buttons