Restructured to fix the python convention of file layout.