refactoring of structure watermark