rewrote queue not to use promises for waits