changed the abstract handler.