version2 finish call and internal