Lot of code rewritten.