This is subtask of #18.
This is subtask of #18.