add traverse function, test insert, extract_min; TODO: refactoring delete