with peek,isEmpty and isFull done