* finish task #1959, #1958.