Added Immutable interface
Added Invariable interface