moving to a Client-based model