implemented ackHandler