start moving reuseable code into common