Client-side classes