Restructuring done. Cleanup yet to be done.