Improve advance2, add machine code, and name them in normal form