refine include statement
move logging functions to separate class
use nullptr instead of NULL