implemented queue structures