Acknowledgements Credit goes to Rich Hagarty for his implementation. Credit to Steve Martinelli and Mark Sturdevant for their reviews and testing help.