remove extra logging
[improvement] using smart pointers instead of raw pointers