split target and chat implementation