fixed _immutable macro