more work on microcode