streamline interface, reduce code duplication, remove dta structure dependency.