Totally changed the naming convention, added some new layout structures