Contract and Unit_test added