groundwork for task1;