ada 3, part 1 + 2 done