would simplify some of your patch :)