added auditing (not tested yet)