Add partial implementation for part 3 of the series