All logic separated