add button fully, fully functional