probably best to use 'queue' to avoid any confusion with the promise library q