part 2 basically done