reworked part 3