- Break setting into setting_program1, setting_program2 - Refactor variable names to more generic - Control pipeline assembler and fetch different programs