split logic, add conversations-handler