add g
deal with merge