updated to use server objects rather than tuples