updated bounded buffer