add finish with tests