handle queue better