added class contract