GP, init
GP, merge