refactor
finalization