add new handlers and some upgrade