add ack, fix bugs