update listup algorithm