use unique_ptr
remove useless spaces
update gg.h/gg.cpp