Address PR comments, fix cxx11 issue (#397)
Rm ad pointer, use named ctor idiom (#397)