How does Microcode work??