break profile into smaller files
better separation of concerns