impl heap put & pop
rename iterator move to copy
rename copy item func to repl
rename move item func to copy