working on merge type, it's almost done