refactor: subscribe & tip