Kinda messy if.