add hot self accept with error handler