combined all files and totally changed structure