Defining the Contracts. Some more refactoring may be required
Adding warning to README file