the WPF version of this would be fantastic...