add source comments; updated template with changes;