* code for task #1971 #1961.