part 5 added tests