Three Bricks to Consolidate Watermarks for Large Language Models