Some redesign. Step #1