refined part 1 to fit requirements more precisely