initial support for immutable objects