added contract.h header file