wrote more on the problem definition