added constrainted data fit