Part of what makes SQLServerCentral articles interesting to read is the story that explains the code. What prompted you to write these functions?
Even if this solution "works" - what problem does it solve?
Why is this solution better than the approach *I* might have created?
(I'd probably not think to write/employ the functions you've written)
Summary: "more please"