return instead of finish