add gm
depend on gm
use thumbnail for public