added contract class skeleton