add determine_format to models to avoid explicit json format param
merge stuff