test to restructure with more abstraction, step 1