setup requirements