updated tx functions