rename onHandle to doHandle