implement noise generators