finish~ (not compiled yet)