Changed data_requirements() to return a boolean indicating validity (instead of raising an exception)