logic-first design