added part 7 implementations