add circular queue code