main merge