More versatile watermark functions