add better Topic support