Bug in my code, I missed storing the return.  Given your comments and @theuni 's comments I'll be merging the two methods together in the end.