finish method