add button logic