Feature/more immutable