~~ catch fix refactoring