modifed registerHandler