refactor
fix bug: assertExists
merge