Contract first with client