added consumer-producer problem