Separation of logic