added handling for constraints
fixed selection of constraints
cleanup
cleanup
cleanup
test data generation algorithms