buttons are almost solved.