remove temp low-level code dependence