Restructure

Merging the restructure branch