non ack functions