fix bugs and add overridable handler