add custom RetroError handler
fix bugs