split activate into different functions in the two places to do more sophisticated things