add profile and campaign functionality (first iteration)
merge?