lazy property:mutable and immutable