support custom template path
add socket.io