improve queue methods