Changed all raw pointers to shared_ptr and unique_ptr, fixed some formatting/typo issues, changed struct in P1app to vector of Library pointers