Writing Smart contracts and why we need them.