Besides these there should be collective efforts from the public to prevent corruption.
If there is corruption for so long, it indicates even the people voting for their leaders do not consider this and vote based on fantasy or factors like religion etc.