Changed all BasicShape pointers to shared_ptr objects