better `Or` implementation
i don't think i use it anymore though...