Feature/invariant