refactored roles && clean up.