Logic that can be programmed