working on part I and III