don't use atexit; provide groove_finish