an update to dtsa func