made default handler optional