Merged from silc_1_0_branch (second merge).