Absolutely last version of stage_1 stage_2 stage_3 stage_4

stage_5 not yet implemented