Double Ended Queue Implementation