First, I installed a new control board, (mother board). When removing the old one, the back side had a melted area in the plastic. This helped restore the cycle selections on the keypad. Then I noticed the machine was not filling completely with water, and checked the water inlet fill valve. It was plugged with sediment. I ordered a new one and also ordered a high temperature thermostat. I installed both of them and the machine had no problem getting water. I replaced the high limit thermostat as a precaution because of the melted plastic on the outside of the old control board. The machine still had a problem circulating water and the float switch was burned out. I replaced the switch and the machine was running through cycles and leaving soap residue on the side of the door. The dishes were also not getting clean enough. Then, I noticed the machine would only work on a light cycle and no water was circulating through the top rack at all. I then ordered the circulation pump and motor figuring the pump was going out and was very weak pushing water through the machine. The pump arrived the next day after I placed the order. I removed the dishwasher from the cabinet to install it because there is a wire in the back of the dishwasher that has to be removed from the pump. It is easier to access from the rear of the machine with it out of the cabinet so you can see what you are doing. The drain pump also has to be removed and it is very easy to remove. It just twists off of the assembly. My drain pump was still working and I did not need to order a new one. I used my old drain pump, and installed it on the new circulation pump and motor. I installed the new pump motor very quickly. First I cleaned the area around the opening in the dishwasher where the pump motor goes. Before installing the pump motor, I used some vegetable oil to lubricate the rubber that goes around it. While installing, I placed it into the opening and when it went into the opening it requires a little pressure once it sits into the opening up to the cabinet. I did not install the concrete plate that is on the bottom of the unit until the motor and pump were in the opening. The concrete plate is on the bottom of the old motor and you have to remove it to reinstall on the new motor. It is held on with two screws. The concrete plate is for sound proofing. If you wait to install the concrete plate after the pump and motor are in, it makes the pump and motor easier to install. There are three white large plastic twistable clamps holding the pump and motor in the machines cabinet. You have to turn them inward when removing the motor, and when installing a new motor you have turn them outward. These clamps hold the motor in place and help create the solid seal from the rubber that goes around the pump so it does not leak. After I was done, I reinstalled the dishwasher and checked for leaks. There were no leaks. After reinstalling the dishwasher, I then realized there was no heat from the heating element and when running the high temperature wash or sani-rinse cycles they were not working. At the end of the cycle, the sanitized light was flashing. This I fixed quickly by pressing three cycle buttons on the control panel three times and then pressed them three times again and again another three times. I just let the machine go through the diagnostic cycle and when finished ran the regular cycle. The regular cycle ran as it should. I had full use of the dishwasher again on all cycles with plenty of water spray on the top rack. There have been no more incidents with soap residue left in the dishwasher at the end of the cycle sticking to the side of the door. My high temperature wash and sani rinse cycles work again. My dishes are clean again and the pump and motor fixed the final problem. All of this happened on my Kitchen Aid dishwasher that is only about 3 years old. I was going to buy a new machine for about $850.00 plus the cost to install. These parts I put in myself with no service call were less than half the cost of a new machine. I use my dishwasher a lot and it is now fixed.