add advanced hi function