logic separation