dev notes for part 2: circular dependency