made description and buttons optional