Separated logic