Queue data structure implementation