impl heap put