std-by-step updated