Contracts and Tests added