Changed pointers to smart pointers.
Updating project before I merge this to master.
Added missing libraries