Refactor result type of purpose/topic