add finish with contract tests