renamed HandlerInterface to IHandler