add internal handler