Restructed the library, continuing to build