initial modification:
add AbstractHandler for abstract data handler
add some example handler