add imperative compilation test