finished implementing queue