add transaction back in for speed