separatesections of boilerplate to 3 files