broke the common role up in to seperate files