add docs for each instruction & review the code