add queue func