add missing methods for part 3