with method blocks on data variants and syntax for sharing