add a priorty queue algorithms