add audit logging