Updated and rebuilt structure. Currently broken but next commits will fix