seperate files for each group of items and code cleanup