refactor image catcher