add function queue