use tabdata only if worthwhile