add: split load and merge functions