part of subtask 3