New client implementation (work by Taek)