Renamed and restructured files and classes