LPS-32846

Hey Jon. I had to slightly refactor some of this utility to handle a broader range of inputs. If you have questions about my changes, let me know. I've already reviewed most of my changes with Pat - but we can do a follow-up if there needs to be any more change. Thanks!