new API signatures + remove shadow.