trying to reduce interdependencies slightly