datatype auto-detect logic changes (wip)