about to do some modifications
what
part 2 refactored in such a way to make part 3 easier