extendable handler