moved actual promoting logic into token service since it can also be done manually